// package com.jzo2o.customer.service;
//
// import com.jzo2o.api.customer.dto.request.EvaluationSubmitReqDTO;
// import com.jzo2o.common.model.CurrentUserInfo;
// import com.jzo2o.customer.model.dto.request.AuditReqDTO;
// import com.jzo2o.customer.model.dto.request.EvaluationPageByTargetReqDTO;
// import com.jzo2o.customer.model.dto.request.LikeOrCancelReqDTO;
// import com.jzo2o.customer.model.dto.response.*;
//
// import java.util.List;
// import java.util.Map;
//
// /**
//  * @author itcast
//  */
// public interface EvaluationService {
//
//     /**
//      * 发表评价
//      *
//      * @param evaluationSubmitReqDTO 发表评价请求体
//      */
//     BooleanResDTO submit(EvaluationSubmitReqDTO evaluationSubmitReqDTO);
//
//     /**
//      * 根据对象属性分页查询评价列表
//      *
//      * @param evaluationPageByTargetReqDTO 分页查询请求体
//      * @return 分页结果
//      */
//     List<EvaluationResDTO> pageByTarget(EvaluationPageByTargetReqDTO evaluationPageByTargetReqDTO);
//
//     /**
//      * 删除评价
//      *
//      * @param id 评价id
//      */
//     void delete(String id);
//
//     /**
//      * 点赞或取消点赞
//      *
//      * @param likeOrCancelReqDTO 点赞请求数据
//      */
//     void likeOrCancel(LikeOrCancelReqDTO likeOrCancelReqDTO);
//
//     /**
//      * 用户举报
//      *
//      * @param auditReqDTO 举报请求
//      */
//     void userReport(AuditReqDTO auditReqDTO);
//
//     /**
//      * 分页查询当前用户评价列表
//      *
//      * @param pageNo   页码，默认为1
//      * @param pageSize 页面大小，默认为10
//      * @return 当前用户评价列表
//      */
//     List<EvaluationAndOrdersResDTO> pageByCurrentUser(Integer pageNo, Integer pageSize);
//
//     /**
//      * 根据评价等级分页查询当前用户评价列表
//      *
//      * @param scoreLevel 评价等级，1差评，2中评，3好评
//      * @param pageNo     页码
//      * @param pageSize   页面大小
//      * @return 评价列表
//      */
//     List<EvaluationAndOrdersResDTO> pageByCurrentUserAndScoreLevel(Integer scoreLevel, Integer pageNo, Integer pageSize);
//
//     /**
//      * 根据订单id列表查询师傅评分
//      *
//      * @param orderIds 订单id列表
//      * @return 评分
//      */
//     Map<String, Double> queryServeProviderScoreByOrdersId(List<Long> orderIds);
//
//     /**
//      * 获取评价系统信息
//      *
//      * @return 评价系统信息
//      */
//     EvaluationTokenDto getEvaluationInfo();
//
//     /**
//      * 根据对象类型和订单id查询评价
//      *
//      * @param targetTypeId 对象类型id
//      * @param ordersId     订单id
//      * @return 评价
//      */
//     EvaluationResDTO queryByTargetTypeIdAndOrdersId(CurrentUserInfo currentUserInfo, String targetTypeId, Long ordersId);
//
//     /**
//      * 查询所有的评价配置信息
//      *
//      * @return 评价配置信息
//      */
//     AllEvaluationSystemInfoResDTO findAllSystemInfo(CurrentUserInfo currentUserInfo);
//
//     /**
//      * 自动评价
//      *
//      * @param evaluationSubmitReqDTO 评价信息
//      */
//     void autoEvaluate(EvaluationSubmitReqDTO evaluationSubmitReqDTO);
// }
